using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

namespace Praxis.Entities
{
    public partial class EQUIPO:BaseEntity
    {
        public EQUIPO()
        {
            this.DETALLE_ALQUILER = new List<DETALLE_ALQUILER>();
            this.DETALLE_COMPROBANTE = new List<DETALLE_COMPROBANTE>();
            this.DETALLE_DEVOLUCION = new List<DETALLE_DEVOLUCION>();
            this.DETALLE_ENTREGA = new List<DETALLE_ENTREGA>();
        }

        public int Codigo { get; set; }

        [Display(Name="Tipo")]
        [Required(ErrorMessage="Se Requiere un Tipo")]
        public string Tipo { get; set; }

        [Display(Name = "Serie")]
        [Required(ErrorMessage = "Se Requiere una Serie")]
        public string Serie { get; set; }

        [Display(Name = "Nombre")]
        [Required(ErrorMessage = "Se Requiere un Nombre")]
        public string Nombre { get; set; }

        [Display(Name = "Marca")]
        [Required(ErrorMessage = "Se Requiere una Marca")]
        public string Marca { get; set; }

        [Display(Name = "Modelo")]
        [Required(ErrorMessage = "Se Requiere un Modelo")]
        public string Modelo { get; set; }

        [Display(Name = "Color")]
        [Required(ErrorMessage = "Se Requiere un Color")]
        public string Color { get; set; }

        [Display(Name = "ModeloMotor")]
        [Required(ErrorMessage = "Se Requiere un Modelo de Motor")]
        public string ModeloMotor { get; set; }

        [Display(Name = "SerieMotor")]
        [Required(ErrorMessage = "Se Requiere una Serie de Motor")]
        public string SerieMotor { get; set; }
        public Nullable<System.DateTime> FechaCompra { get; set; }
        public string AnioFabricacion { get; set; }
        public decimal PrecioPorHora { get; set; }
        public Nullable<bool> Disponible { get; set; }
        public Nullable<int> TotalHorasTrabajadas { get; set; }
        public Nullable<int> HorasDisponibles { get; set; }
        public Nullable<int> HorasFaltantes { get; set; }
        public virtual ICollection<DETALLE_ALQUILER> DETALLE_ALQUILER { get; set; }
        public virtual ICollection<DETALLE_COMPROBANTE> DETALLE_COMPROBANTE { get; set; }
        public virtual ICollection<DETALLE_DEVOLUCION> DETALLE_DEVOLUCION { get; set; }
        public virtual ICollection<DETALLE_ENTREGA> DETALLE_ENTREGA { get; set; }

        public override string ToString()
        {
            return Nombre;
        }

    }
}
